function SocialMartWidgetLoader(widgetSrc, widgetId, selector) { var loader = document.createElement('script'), s = document.getElementsByTagName('script')[0]; loader.type = 'text/javascript'; loader.async = true; loader.charset = 'UTF-8'; loader.src = widgetSrc; if (s) { s.parentNode.insertBefore(loader, s); } else { document.body.appendChild(loader);} SocialMartListPrepare(selector, widgetId); } function SocialMartListPrepare(selector, widgetId) { var node, i, nodeContent, parts, modelId, elements, displayMode, additionalAttributes; if ((elements = document.querySelectorAll(selector)) && elements.length) { for (i = 0; i < elements.length; i++) { if ((node = elements[i]) && node instanceof Node && node.nodeType == 1) { if ((nodeContent = node.innerHTML) && nodeContent) { additionalAttributes = ''; switch (nodeContent.substr(0, 2)){ case 'LS': // old list mode case 'L-': // list mode if ((parts = nodeContent.split('-',3)) && parts.length == 3 && (modelId = parts[1])) { displayMode = 'list_mode'; } break; case 'T-': // price mode if ((parts = nodeContent.split('-',3)) && parts.length && parts.length <= 3 && (modelId = parts[1])) { additionalAttributes = 'data-display-mode-settings=\'{"skin":"price"}\''; if (parts.length == 3 && parts[2] == 'P'){ additionalAttributes = ''; } displayMode = 'price_mode'; } break; default: // no display mode displayMode = ''; break; } if (displayMode) { node.innerHTML = '
'; } } else { console.log('SMLP: Empty node innerHTML'); } } else { console.log('SMLP: Invalid node type'); } } } else { console.log('SMLP: Elements for ['+ selector+'] not found'); } }